package com.site.service;

import com.github.pagehelper.PageInfo;
import com.site.model.Info;

import java.util.List;
import java.util.Map;

/**
 * Created by robin on 2016/12/14.
 * 信息 service
 */
public interface InfoService {
    /**
     * 保存信息
     * @param info 信息对象
     * @return     结果
     */
    public int save(Info info);

    /**
     * 删除信息
     * @param id 信息Id
     * @return   结果
     */
    public int delete(String id);

    /**
     * 批量删除数据
     * @param ids ID集合
     * @return    结果
     */
    public int deleteAll(String ids);

    /**
     * 修改信息
     * @param info 信息对象
     * @return     结果
     */
    public int edit(Info info);

    /**
     * 查询信息
     * @param map      参数
     * @param pageNum  页码
     * @param pageSize 页面大小
     * @return
     */
    public PageInfo<Info> search(Map map,int pageNum,int pageSize);

    /**
     * 根据Id查询信息
     * @param id id
     * @return   信息对象
     */
    public Info selectById(String id);

    /**
     * 向上调整信息位置
     * @param id   Id
     * @param sort 位置
     * @return     结果
     */
    public int upSort(String id,int sort);

    /**
     * 向下调整信息位置
     * @param id   Id
     * @param sort 位置
     * @return     结果
     */
    public int downSort(String id,int sort);

    /**
     * 增加浏览量次数
     * @param id 信息ID
     * @return
     */
    public int upPv(String id);

    /**
     * ------------------------官网前端------------------------
     */
    /**
     * 根据模块查询数据
     * @param cate 模块
     * @return     结果
     */
    public List<Info> selectByCate(String cate);

    /**
     * 根据模块查询数据
     * @param cate     模块
     * @param pageNum  页码
     * @param pageSize 页面大小
     * @return         结果
     */
    public PageInfo<Info> selectByCate(String cate,int pageNum,int pageSize);

    /**
     * 根据Id查询信息
     * @param id ID
     * @return   结果
     */
    public Info selectInfo(String id);

    /**
     * 根据模块查询单条信息
     * @param cate 模块
     * @return     结果
     */
    public Info selectInfoByCate(String cate);
}
